#ifndef CAPTURER_P_H
#define CAPTURER_P_H
#include "capturer.h"

class CapturerPrivate
{
public:
	CapturerPrivate(const uint index, Capturer* parent)
		: q_ptr(parent)
		, index(index)
		, sampleGrabberCallback(0)
		, open(false)
		, running(false)
		, position(0.,0.)
	{

	}
protected:
	Capturer* q_ptr;
	QMutex mutex;
private:
	Q_DECLARE_PUBLIC(Capturer);	
	uint index;
	QRect viewport;
	QSize pixelRatio;
	bool horizontalFlip;
	bool verticalFlip;	
	SampleGrabberCallback* sampleGrabberCallback;
	bool open;
	bool running;
	QPointF position;	
};

class VirtualCapturerPrivate : public CapturerPrivate
{
public:
	VirtualCapturerPrivate(const uint index, const QString& fileName, VirtualCapturer* parent)
		: CapturerPrivate(index,parent)
		, fileName(fileName)
	{

	}
private:
	Q_DECLARE_PUBLIC(VirtualCapturer);
	QString fileName;	
};

#endif